The present invention relates to a transmitting apparatus to transmit video and audio signals between digital video/audio apparatuses, acquiring a part of a bandwidth of a transmitting medium before communication.
Nowadays, standardization is proceeded for a bandwidth compression system of a digital video signal and a digital audio signal. The system is called MPEG (Moving Picture Experts Group) and is divided into two groups, MPEG1 subject to storage media at a low rate and MPEG2 which realizes a high picture quality for broadcast and can correspond to different picture sizes. In MPEG2, because compression ratio is variable for a picture size or a required picture quality, the data size per time is variable for broadcast programs and contents.
Further, in MPEG2, standardization is also proceeded for data transmission system used for broadcast. In this transmission system, one program is called stream and the data size is variable in each stream (variable rate) and a system to transmit a plurality of streams all together is standardized. Especially, in the case in which a reproducing apparatus to reproduce compressed video audio signals has to isochronize with the broadcast station which makes compression, like in a case to receive a broadcast wave, a stream called transport stream is used. In this transport stream, a device to make the reproducing apparatus possible to isochronize is included, using a parameter in the stream. In the transport stream, the data is transmitted with a axed length packet (transport stream packet, hereafter) and data necessary for isochronization is also transmitted with the same kind of packet. It is described in a reference, coding of moving picture and associated audio information Part 1, Systemxe2x80x3 of ISO/IEC International Standard 13818-1, International Technology.
In the case of transmitting a plurality of streams, it is possible to vary the data size per stream if necessary although the bandwidth of the entire transmission medium is fixed. It is possible to effectively use the bandwidth of the determined transmission medium by allocating a broad bandwidth to a stream which a high rate is required and suppressing the rates of the other streams, not equally sharing the bandwidth of the entire transmission medium to each stream.
On the other hand, in the case in which broadcast signal is once received, a specific stream is selected and is transmitted or recorded again, a bandwidth for transmission or recording has to be secured on the basis of the maximum rate in the selected stream. For such a purpose, a method indicating a buffer for smoothing a stream (smoothing buffer, hereafter) and a bandwidth necessary for transmission or recording with a reading rate from the smoothing buffer (leak rate, hereafter) is adopted in MPEG2. The smoothing buffer memory size and the leak rate are shown by parameters included in the stream.
In the method using smoothing buffer and leak rate, the received stream is once stored in a smoothing buffer memory and is read from here at the leak rate. As long as a smoothing buffer memory having a size expressed by a parameter in the stream and a leak rate are used, the smoothing buffer memory is guaranteed not to overflow. Therefore, in the case of being transmitted or recorded again, transmission or recording becomes possible by securing the bandwidth equal to the leak rate. Because by once smoothing the rate, it becomes unnecessary to secure the bandwidth equal to the maximum rate which rarely occurs, the bandwidth at transmitting or recording the stream with a variable rate can be minimum and it is possible to effectively use a transmitting medium or recording medium.
However, because timing information of each transport stream packet is deteriorated by once storing the stream in a smoothing buffer memory, the reproducing apparatus of video and audio signals cannot isochronize. Therefore, in the case of transmission or recording, timing information written in the smoothing buffer memory is added to each packet. On the other hand, at the receiving or reproducing apparatus, the timing information is reproduced by once storing each transport stream packet in a packet having the same size as a smoothing buffer memory and outputting the output based on timing information added to each transport stream packet and as a result, it becomes possible to isochronize at the reproducing apparatus of video and audio signals.
Thus, in order to transmit a MPEG2 transport stream, it is necessary to be able to reproduce the timing of each transport stream packet in the receiving apparatus of the transport stream packet. As such a transmission medium which can reproduce the timing, there is P1394 interface. P1394 is a high speed serial interface for the next generation multimedia which is studied at IEEE. It is described in the reference, High Performance Serial Bus P1394/Draft 7.1v1xe2x80x3.
P1394 is a transmitting medium of serial bus type and all nodes connected to a bus have isochronized timing information. When a transport stream packet of MPEG2 is transmitted, the timing of each transport stream packet is secured using the timing information.
An apparatus connected to P1394 (node, hereafter) is connected in a tree structure having branches and a node having a plurality of terminals relays the signal by outputting a signal received from one of the terminals to another terminal. Accordingly, it is secured to arrive to every node connected with data outputted from any node. As a result, P1394 works as a bus theoretically although it has a tree structure.
However, because P1394 realizes a bus by relaying a plurality of nodes, there occurs a propagation delay depending on the number of relaying nodes as well as a propagation delay determined by the length of the transmission medium. Further, in P1394, it is secured that a plurality of nodes do not simultaneously transmit, by that only one node assigns buses.
Thus, an identifier to identify the node (node ID, hereafter) is added to each node composed as a bus. The addition of the node ID is automatically done by initializing a bus generated when a new node is added to the bus or on the contrary, when a node is separated from the bus (bus reset, hereafter). When a bus reset is generated, a node connected to the bus outputs a packet indicating a connection state of the node (self ID packet, hereafter) to the bus according to a predetermined order. The node ID is determined by the output order of the self ID packet and the self ID packet includes the node ID determined at outputting to the self ID packet and information whether the other nodes are connected to each terminal or not. As for the node on the bus, the tree structure composing the bus can be known by receiving and analyzing all of self ID packets outputted from each node.
In P1394, two kinds of transfer, a isochronous transfer used for transferring the data which is necessary of real time such as a MPEG2 transport stream or a digital video signal and an asynchronous transfer used for outputting data which is unnecessary of real time are possible. P1394 works on the basis of every 125 microsecond period (cycle, hereafter) and is used for isochronous transfer at a first half of each cycle and for asynchronous transfer at a second half.
When a isochronization transfer is done, time (bandwidth) used during one cycle is acquired in the node controlling the bandwidths before communication. P1394 has a node controlling bandwidth used with isochronous transfer and a bandwidth to be used is acquired from the bandwidth controlling node. The node to execute a isochronous transfer can transfer the data in a range of the acquired bandwidth and the data transmitted with isochronous transfer is outputted as a packet specified by P1394. In a isochronous transfer, it is possible to transfer real time data by secure the transfer of the data size predetermined at every cycle.
The bandwidth to be acquired before transmission is a summation of overhead parts such as a bandwidth necessary for transferring the data in practice and a bandwidth necessary for transferring the data added for propagation delay generated at data transfer and error detection. In P1394, it is possible to use mixture of a plurality of transmission rates and outputs signals directing their transmission rates for identification before packet transmission.
Moreover, apart from MPEG2, a digital VCR for converting video and audio signals into digital data and recording is being developed. In this digital VCR system, a digital video signal is compressed and recorded in a tape. Signal compression method for a high definition (HD, hereafter) television picture as well as standard definition (SD, hereafter) television picture is also being developed. The compressed data size of an HD video signal is twice as much as that of an SD video signal and each is always compressed to data having a fixed rate, different from MPEG.
Because the digital VCR signal is a compressed signal, if it is transmitted after being once restored into an analog video signal and is converted into a digital signal again, picture quality deterioration occurs. Therefore, a digital VCR signal is desired to transmit as a digital signal and P1394 can be used also for a transmission of digital VCR data.
On the other hand, in P1394, every node connected to a bus have an imaginary address space and asynchronous data transfer between nodes is executed as reading and writing of the address space. In a part of the address space, a register used for controlling the working of each node is included. In the node connected to a bus, the node state can be known by reading out from a control register of another node and on the contrary the node can be controlled by writing to the control register.
It is thought to control transmission and reception of the isochronous data, using such a control register. In such a case, a transmission state or a reception state can be known by reading a register for isochronous communication control. On the other hand, it is possible to control to start or stop transmission or reception of the isochronous data by writing a required value into the register.
When a MPEG2 transport stream is transferred using a transmitting medium to communicate after acquiring a bandwidth before transmission, like P1394, it is thought that the data rate changes on the way of transfer and a bandwidth necessary for transfer exceeds the bandwidth already acquired. Its example is the case in which the leak rate varies into a large value by a change of a program during transfer. On the other hand, when digital VCR data is transferred, it is thought that the signal changes from an SD video signal to an HD video signal on the way of transfer. Its example is the case in which an SD video signal is recorded halfway of the tape and after that the recorded signal changes into an HD video signal. When the tape is playbacked, the signal changes from SD video data to HD video data on the way of playback and the data size changes to twice. Thus, when the data rate changes, transmission exceeding a previously acquired bandwidth could be done.
As an example, there is a case using P1394 in a transmitting medium. When a MPEG2 transport stream is outputted to P1394, a bandwidth is acquired based on a leak rate of the stream outputted before transmission and is outputted. However, when the leak rate changes to a large value on the way of transfer, a bandwidth necessary for outputting exceeds the already acquired bandwidth and there could be a risk to output data more than that corresponding to the previously acquired bandwidth to a bus. On the other hand, when the signal changes from an SD video signal to an HD video signal and the data size increases twice, there is a risk to output twice data of that corresponding to the previously acquired bandwidth to the bus.
In P1394, when data exceeding the data corresponding to the previously acquired bandwidth is supplied to a bus, time required for transmitting data which must transmit during one cycle for isochronous communication exceeds the predetermined and assigned time for isochronous transfer. When such a bandwidth overflowing occurs, asynchronous communication can not be done because the time for asynchronous communication is short. Moreover, when the time required for isochronous data communication exceeds 125 microseconds, the bus becomes impossible to work and not only the data to be a cause but also all isochronous data flowing on the bus can not continue transmission and reception.
As explained above, when a transmitting medium which acquires a part of a bandwidth of the transmitting medium before transmission is used and transmission is done exceeding the acquired bandwidth, there is a problem to interfere the other communications using the same transmitting medium.
On the other hand, the apparatus receiving data through a transmitting medium could receive an incorrect data when the rate of the transmitted data changes to a large value. A first example is the case that the leak rate changes to a large value when a MPEG2 transport stream is received from a transmitting medium and video and audio signals are reproduced from the received data or the transport stream is recorded. A second example is the case that the digital VCR data changes from an SD video data to an HD video data when the digital VCR data is received from the transmitting medium and video and audio signals are reproduced or recorded from the received data. In such a case, because the bandwidth necessary for data transmission exceeds the acquired bandwidth in the transmitting medium bandwidth, the transmitting apparatus can not continue a normal transmission and as a result, an incorrect data could be transferred to the transmitting medium.
When a transport stream or VCR data received at the receiving apparatus is reproduced or recorded, in the case in which an imperfect transport stream or an imperfect digital VCR data is received or the received data is lost, it happens to reproduce or record an incorrect data. Moreover, in the case in which the receiving apparatus is working, synchronizing with a sync signal included in the received data, the isochronization could loose and malfunction could occur.
Thus, in the case in which data is received from a transmitting medium which acquires a part of the bandwidth of transmitting medium before transmission and communicates and when the bandwidth necessary for the data transfer exceeds the bandwidth which previously acquired in the transmitting medium bandwidth, incorrect data could be supplied to the transmitting medium and when the incorrect data is supplied to the transmitting medium, the apparatus which is receiving this data induces malfunction. It is a problem.
On the other hand, like P1394, in the case in which transmission is done after acquiring a part of transmitting medium bandwidth before transmission, the other apparatuses could commence outputting, stopping the already starting communication and using the bandwidth which has been used in the stopped communication.
An example is the case in which while a first apparatus is outputting data to a transmitting medium. a second apparatus tries to start outputting data. When a bandwidth in which the second apparatus can output the data is left in the transmitting medium, the second apparatus can start outputting after acquiring the bandwidth. However, if the necessary bandwidth is not left, it can not start transmitting. Accordingly, the transmission can be started after the second apparatus secures the bandwidth necessary for outputting, making the first apparatus stop to output.
In such a case, it is necessary to start transmission after the control node once returns the bandwidth which has been used and acquires again. Because the bandwidth has to be acquired after returning the bandwidth, the apparatus to acquire the bandwidth has to confirm if the bandwidth returning is finished and keep watch on the returning action. Moreover, because it takes time from returning the bandwidth to acquiring it again, it has a risk that another node acquires the bandwidth. That is, there is a problem that a procedure necessary for acquiring the bandwidth is complex.
On the other hand, when a propagation delay depending ona connection form of the node connected to a transmitting medium occurs like P1394, a bandwidth has to be acquired including an overhead such as the propagation delay time, in addition to a bandwidth necessary for actual transmission.
In such a case, it is possible to acquire a bandwidth based on maximum propagation delay time. However, if the bandwidth to be acquired is determined on the basis of an assumed maximum propagation delay time, because an extra bandwidth which is actually unnecessary is acquired, the transmitting medium can not be effectively utilized and therefore, there is a risk to prevent the other communications which are originally to be able to communicate. That is, if the bandwidth is acquired based on the maximum value of propagation delay, there is a problem not to be able to effectively use the transmitting medium.
In a usual transmission apparatus, when information concerning smoothing buffer memory and leak rate is given in the data, it is necessary to analyze the data and extract information concerning the rate in order to determine the transmission bandwidth or the recording mode and there is a demerit that the hardware size at recording of the receiving apparatus becomes large.
Moreover, if the buffer at the receiving apparatus side overflows or under flows, the data transmission becomes impossible and usually it can not be controlled at the transmission apparatus.
To solve the problems described above, a data transmitting apparatus in accordance with a first invention is a transmitting apparatus to transmit, after acquiring a part of the bandwidth which a transmitting medium has, before transmission and is characterized by including:
bandwidth detection means for detecting a bandwidth of data inputted to the transmitting apparatus;
necessary bandwidth calculation means for calculating a necessary bandwidth at the transmitting medium from the bandwidth outputted from the bandwidth detection means;
transmission condition judge means for comparing the necessary bandwidth outputted from the necessary bandwidth calculation means and the acquired bandwidth acquired from the transmitting medium bandwidth and judging whether the necessary bandwidth exceeds the acquired bandwidth or not;
transmission control means for outputting the data only while the judge result outputted from the transmission condition judge means indicates that the necessary bandwidth does not exceed the acquired bandwidth; and
transmission means for outputting the data outputted from the transmission control means to the transmitting medium.
A data transmitting apparatus in accordance with a second invention is a transmitting apparatus to transmit, after acquiring a part of the bandwidth which a transmitting medium has, before transmission and is characterized by including:
bandwidth detection means for detecting a bandwidth of data inputted to the transmitting apparatus;
necessary bandwidth calculation means for calculating a necessary bandwidth at the transmitting medium from the bandwidth detected at the bandwidth detection means;
transmission condition judge means for comparing the necessary bandwidth outputted from the necessary bandwidth calculation means and the acquired bandwidth acquired from the transmitting medium bandwidth and judging whether the necessary bandwidth exceeds the acquired bandwidth or not;
transmission control means for outputting the data only while the judge result outputted from the transmission condition judge means indicates that the necessary bandwidth does not exceed the acquired bandwidth;
bandwidth information adding means for adding the bandwidth outputted from the bandwidth detection means to the data outputted from the transmission control means as bandwidth information and outputting only the bandwidth information while the data is not inputted from the transmission control means; and
transmission means for outputting the data outputted from the bandwidth information adding means and added with the bandwidth information to the transmitting medium.
A data receiving apparatus in accordance with a third invention is characterized by that a transmitting apparatus acquiring a part of the bandwidth of a transmitting medium before communication and, transmitting only while the bandwidth of data to be transmitted does not exceed the acquired bandwidth, provides with:
reception means for receiving the data outputted to the transmitting medium from the transmitting medium;
transmission stop detection means inputting the data received by the reception means and for detecting that the transmitting apparatus stops outputting by detecting that the data does not arrive for a specified period; and
processing means for processing to respond according to the detected result which the transmission stop detection means detects.
A data receiving apparatus in accordance with a fourth invention is characterized by that a transmitting apparatus acquiring a part of the bandwidth which the transmitting medium has, before communication, transmitting the data added with the bandwidth information while the bandwidth of the transmitted data does not exceed the acquired bandwidth, and transmitting only the bandwidth information when the bandwidth of the data exceeds the acquired bandwidth provides with:
reception means for receiving the data added with the bandwidth information outputted to the transmitting medium from the transmitting medium;
transmission stop detection means inputting the data received by the reception means and for detecting that the transmitting apparatus stops to output the data by detecting that the data does not arrive for a specified period;
bandwidth information separation means inputting the data added with the bandwidth information received at the reception means and for separating the added bandwidth information from the data and outputting it; and
processing means for processing to respond according to at least one of the detected result which the transmission stop detection means detects and the bandwidth information separated at the bandwidth information separation means.
A data transmitting apparatus in accordance with a fifth invention is a data transmitting apparatus in which a propagation delay occurs depending on a connection topology of the apparatus connected to the transmitting medium and a part of the bandwidth which the transmitting medium has is acquired before transmission and which is connected to a kind of transmitting medium to transmit provides with:
propagation delay identifier holding means for holding a propagation delay identifier determined by a connection topology of the apparatus connected to the transmitting medium; and
maximum transmission data size holding means for holding a maximum transmission data size indicating a maximum size of the data which can hold in a packet outputting to the transmitting medium;
and is characterized by that the propagation delay identifier holding means can read and write the propagation delay identifier through the transmitting medium and the maximum transmission data size holding means can read the maximum transmission data size through the transmitting medium.
A data transmission control apparatus in accordance with a sixth invention is what connected to a transmitting medium in which a propagation delay occurs depending on a connection topology of the apparatus connected to the transmitting medium and is determined by a connection topology of the apparatus connected to the transmitting medium and is a control apparatus for a transmission apparatus having propagation delay identifier holding means to hold a propagation delay identifier expressing propagation delay size of the transmitting medium and is characterized by providing with:
analyzing means for analyzing the connection topology of the apparatus connected to the transmitting medium;
identifier determining means for determining the propagation delay identifier according to the analysis result outputted from the analyzing means; and
identifier setting means for setting the propagation delay identifier determined by the identifier determining means in the propagation delay identifier holding means.
A data transmission control apparatus in accordance with a seventh invention is characterized by that in a data transmission control apparatus in accordance with a sixth invention, the analyzing means have a function to judge the connection form according to the maximum number of relay apparatuses assumed from the number of apparatuses connected to the transmitting medium.
A data transmitting apparatus in accordance with an eighth invention is characterized by providing with:
measurement means for measuring the data size arrived ina specified fixed period;
bandwidth determination means for determining the transmission bandwidth from the data size measured at the measurement means; and
transmission means for transmitting according to the transmission bandwidth determined at the bandwidth determination means.
A data transmitting apparatus in accordance with a ninth invention is characterized by providing with:
judge means for judging whether a transmission packet which the receiving apparatus receives from the transmission medium has passed the timing to be outputted from the receiving apparatus or not;
a counter for counting up the value when the transmitting apparatus transmits one piece of the transmission packet and counting down the value when the judge means judges that each transmission packet has passed the timing to be outputted from the receiving apparatus;
determination means for determining the transmission timing of each transmission packet so that the value counted at the counter does not exceed a certain fixed value; and
transmission means for transmitting the digital data according to the transmission timing determined at the determination means.
A data transmitting apparatus in accordance with a tenth invention is a transmitting apparatus for transmitting the digital data inputted at every packet and is characterized by providing with:
calculation means for calculating a delay time from the buffer capacity provided in the receiving apparatus and the data rate of the digital data inputted to the receiving apparatus;
judge means for comparing the delay time with a specific value and judging;
transmission time stamp adding means for adding the input time to the receiving apparatus and the output of the judge means to each transmission packet as a transmission time stamp which is timing information which the receiving apparatus is to output the packet; and
transmission means for transmitting the packet added with the transmission time stamp.